Computing devices, networking devices, and even software modules often need to exchange messages in order to execute functions. Both the content of the messages (e.g., payload) and the order in which the messages are received are important in correctly executing these functions.